package org.jeecg.modules.zhoupackage.GoodsOrder.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.zhouAdmin.admin.goodsCenter.pojo.MlccThirdGoods;
import org.jeecg.modules.zhouAdmin.admin.goodsCenter.pojo.MlccThirdGoodsSeries;
import org.jeecg.modules.zhoupackage.GoodsOrder.pojo.MlccThirdGoodsCart;
import org.jeecg.modules.zhoupackage.GoodsOrder.pojo.MlccThirdGoodsOrder;

import java.util.List;

public interface IGoodsOrderService {

    /**
     * 获取商品系列
     *
     * @param token 令牌
     */
    List<MlccThirdGoodsSeries> getGoodsSeries(String token);

    /**
     * 根据选中的商品类型获取名下的商品系列
     *
     * @param token 令牌
     * @param type  商品类型id
     */
    List<MlccThirdGoodsSeries> getGoodsSeriesByGoodsType(String token, String type);


    /**
     * 查询商品列表
     *
     * @param token      令牌
     * @param goodsGroup 商品系列id
     * @param goodsCode  商品编号
     * @param goodsType  商品类型
     * @param page       分页器
     */
    IPage<MlccThirdGoods> getGoods(String token, String goodsGroup, String goodsCode, String goodsType, Page<MlccThirdGoods> page);

    /**
     * 根据token获取当前用户购物车列表
     *
     * @param token 令牌
     */
    List<MlccThirdGoodsCart> getCartList(String token);

    /**
     * 删除购物车
     *
     * @param token 令牌
     * @param id    购物车id
     */
    int removeCart(String token, String id);

    /**
     * 创建未支付的面料订单
     *
     * @param token 令牌
     * @param order 订单类
     * @return 返回订单ID
     */
    String createFabricOrder(String token, MlccThirdGoodsOrder order);

    /**
     * 购物车更新备注
     *
     * @param id     购物车id
     * @param remark 备注
     */
    int updateRemark(String id, String remark);

    /**
     * 改变购物车购买数量的方法
     *
     * @param id      小购物车id
     * @param smallid 小购物车id
     * @param num     购买数量
     */
    int updateByNum(String token, String id, String smallid, String num);
}
